有时候我们需要这样的数据类型Map<String, CollectionMultimap就是为了解决这类问题的。
Multimap提供了丰富的实现,所以你可以用它来替代程序里的Map<K, Collection
| 实现 | Key实现 | Value实现 |
|---|---|---|
| ArrayListMultiamp | HashMap | ArrayList |
| HashMultimap | HashMap | HashSet |
| LinkedListMultimap | LinkedHashMap | LinkedList |
| LinkedHashMultimap | LinkedHashMap | LinkedHashSet |
| TreeMultimap | TreeMap | TreeSet |
| ImmutableListMultimap | ImmutableMap | ImmutableList |
| ImmutableSetMultimap | ImmutableMap | ImmutableSet |
上述Multimap的实现都是线程不安全的,如果想要创建线程安全的Multimap需要调用Multimaps.synchronizedMultimap(Multimap<K, V> multimap)方法将multimap包装成线程安全的版本。